Feat/editor (V1)#76
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new /editor route that hosts a Monaco-based editor workspace with a file-tree sidebar, tabs, drag/drop, and context-menu actions, supported by new composables and UI primitives.
Changes:
- Introduces
EditorView+ wrapper view and wires it into the router at/editor. - Adds editor sidebar components (tree items, tabs, context menu) plus composables for selection, clipboard, platform shortcuts, and drag/drop state.
- Adds UI wrapper components for
reka-uiresizable panels and scroll areas; updates dependencies (modern-monaco,reka-ui,@vueuse/core).
Reviewed changes
Copilot reviewed 20 out of 22 changed files in this pull request and generated 18 comments.
Show a summary per file
| File | Description |
|---|---|
| src/views/Editor/EditorViewWrapper.vue | Wrapper to mount the new editor view. |
| src/views/Editor/EditorView.vue | Main editor page: workspace FS tree, tab persistence, drag/drop, clipboard operations. |
| src/types/FileTree.ts | Defines file tree node shape used across editor components. |
| src/router/index.ts | Adds /editor route entry. |
| src/composable/usePlatform.ts | OS-aware shortcut formatting (Mac symbols vs Ctrl/Alt/Shift). |
| src/composable/useFileSelection.ts | VS Code-style multi-selection behavior for the tree. |
| src/composable/useFileDragDrop.ts | Shared drag state + helpers for intra-tree drag/drop. |
| src/composable/useFileClipboard.ts | Internal cut/copy/paste state + “copy path” helpers. |
| src/composable/useEditorTabs.ts | Manages open/active/preview tabs and persistence hooks. |
| src/components/ui/scroll-area/* | New scroll-area wrappers around reka-ui. |
| src/components/ui/resizable/* | New resizable panel wrappers around reka-ui. |
| src/components/Editor/FolderContextMenu.vue | Context menu UI for file/folder/background actions. |
| src/components/Editor/FileTreeItem.vue | Recursive tree item renderer with drag/drop + inline create/rename. |
| src/components/Editor/EditorTabs.vue | Tab strip UI for open files. |
| src/components/Editor/EditorSidebar.vue | Sidebar container: selection, context menu wiring, keyboard shortcuts, root creation. |
| package.json / package-lock.json | Adds/bumps dependencies for Monaco + reka-ui/vueuse updates. |
| .gitignore | Ignores local “instructions” files. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…enu and implement their creation logic.
850ba06 to
95b4eec
Compare
benStre
approved these changes
Mar 13, 2026
benStre
pushed a commit
that referenced
this pull request
May 6, 2026
* install modern-monaco * Include <MonacoEditor/> * added sidebar and multifile support * multi files * added local storage to Persists across refreshes * fix creating new files/folders * persistent filetree * fix scrollable sidebar * selecting multiple files * feat: Add new file and new folder options to the root-level context menu and implement their creation logic. * drag n drop * update package --------- Co-authored-by: kha1dx <162775528+kha1dx@users.noreply.github.com> and agent of Khaled
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.